The computer system 100 illustrated in FIG. 1 represents a typical hardware setup for executing software that allows a user to perform tasks such as communicating with other computer users, accessing various computer resources, and viewing, creating, or otherwise manipulating electronic content—that is, various combinations of text, images, movies, music or other sounds, animations, 3D virtual worlds, and links to other objects. The system includes various input/output (I/O) devices (mouse 103, keyboard 105, display 107) and a general purpose computer 109 having a central processor unit (CPU) 111, an I/O unit 113 and a memory 115 that stores data and various programs, such as an operating system 117 and one or more application programs 119. The computer system 100 also typically includes some sort of communications card or device 121 (e.g., a modem or network adapter) for exchanging data with a network 123 via a communications link 125 (e.g., a telephone line).
As shown in FIG. 2, a user of a computer system can access electronic content or other resources either stored remotely at one or more server systems 200 or locally at the user's own client system 202 (for example, a personal or laptop computer). An example of a server system 200 is a host computer that provides subscribers with online computer services such as e-mail, e-commerce, chat rooms, Internet access, and electronic newspapers and magazines. Users of a host computer's online services typically communicate with one or more central server systems 200 through client software executing on their respective client systems 202. A client system 202 may connect to a server through a modem 204 and a phone line 206, or through a direct connection 207 using a protocol such as TCP/IP.
In practice, a server system 200 typically will not be a single monolithic entity but rather will be a network of interconnected server computers, possibly physically dispersed from each other, each dedicated to its own set of duties and/or to a particular geographical region. In such a case, the individual servers are interconnected by a network of communication links, in known fashion. One such server system is “America Online 5.0” from America Online, Incorporated of Virginia.
A “browser” is an example of client software that enables users to access and view electronic content stored either locally or remotely, such as in a network environment (local area network (LAN), intranet, Internet). A browser typically is used for displaying documents described in Hyper-Text Markup Language (HTML) and stored on servers connected to a network such as the Internet.
A user instructs a browser to access an HTML document, or web page, by specifying a network address—or Uniform Resource Locator (URL)—at which a desired document resides. In response, the browser contacts the corresponding server hosting the requested web page, retrieves the one or more files that make up the web page, and then displays the web page in a window on the user's computer screen.
FIG. 3 is a screenshot of a browser application 300 (Microsoft Internet Explorer) displaying a typical HTML document, or web page 302. As shown therein, a single web page 302 may be composed of several different files potentially of different data types 304 (for example, text, graphics, images, virtual worlds, sounds, and movies). In addition, a web page can include links 306 pointing to other resources (for example, web pages or individual files) available on the network. Links 306 can take virtually any visual form. For example, they can appear either as a text string, a graphical image, or a combination of the two. Each link 306 has an associated URL pointing to a location on the network. When a user clicks on, or otherwise selects, a displayed link 306, the browser automatically will retrieve the web page (or other resource) corresponding to the link's associated URL and execute it or display it to the user.
Referring to FIG. 4, a “web-based TV” system 400 has been developed that makes dual usage of conventional TV sets 402. That is, a user of web-based TV can watch TV and/or view web pages and otherwise “surf” the Internet. In this regard, a special purpose computer 404, referred to as a “set top device,” is used in connection with standard TV sets 402 for viewing web pages on the Internet. The set top device 404 essentially has the same basic components as the general purpose computer 100 illustrated in FIG. 1, except that it also includes a TV tuner 406 for receiving TV programming in the form of broadcast, satellite, and/or cable TV signals. The set top device 404 thus can selectively display two different sources of content (TV programming received by TV tuner 406 and web or network content received by communications card 121) on the TV monitor 402 connected to the set top device 404.
The web content displayed may be a program that is transmitted only on the Internet. For example, the programming may be a sports event for which a broadcast network has the viewing rights but decides not to broadcast the event. In such an instance, the broadcast network and an Internet-based TV provider may cooperate to transmit the event across the Internet. The programming also may be a continuous series of programming that is transmitted on the Internet and not otherwise broadcast.
Accessories may be added to the web-based TV system 400, such as, for example, a wireless keyboard 408. The wireless keyboard 408 can be similar to the keyboard 105 but it also may have specialized keys designed for use in the web-based TV system 400 to make viewing and web surfing easier. Additionally, a wireless remote control 410 may be used to control the set top device 404 and to facilitate channel surfing and web-based TV connections via various buttons 412, which may be specialized for the web-based TV environment.
An example of an existing web-based TV system 400 is “WebTV” by Microsoft. Information about WebTV service may be found at WebTV's various web pages, for example, at http://www.webtv.net and http://developer.webtv.net.
Users of web-based TV may subscribe to a cable TV provider. Cable TV providers typically provide users an Electronic Programming Guide (EPG), which is a listing of channels that are available to the subscribers of cable TV providers. Typically, an EPG is displayed on a channel (e.g., channel 3) dedicated for that purpose. FIG. 5 is an example of an EPG 500 from Yahoo!. As shown therein, a list of channels 501 is presented to users. The channels may be, for example, a combination of broadcast programming and Internet-based programming. The schedule 502 for each channel typically is presented as a list showing the next several hours of programming for each channel. The starting and stopping times 503 are presented as headers at the top of the list of channel schedules. The user may use the controls 504 to limit the number of channels presented. For example, by selecting the “Sci-Fi” category 505, the user can limit the set of channels presented to those showing science fiction programming. By using conventional graphical user interface (GUI) manipulation techniques, users of EPGs may be able to scroll through the list of channels, and may be able to scroll forward in time 506 to see the schedule for future programs. Users also may be able to select a channel to watch using the EPG.
Different cable TV providers may offer different EPGs. As a result, some channels may be available to subscribers of one cable TV provider that are not available to subscribers of another cable TV provider. A particular cable TV provider's collection of available TV channels is referred to as its “Channel Availability.”
In general, a cable TV provider will provide its subscribers not only with a basic package of “free” channels that are included with the base price, but also with several “pay” (or “subscription”) channels that subscribers optionally can elect to receive for additional charges. The collections of channels that a subscriber elects to receive typically form that subscriber's “channel line-up.” The channels in the subscriber's line-up are referred to as the “subscribed channels” and those channels not selected are referred to as the “unsubscribed channels.” For a particular subscriber, therefore, the available channels in the EPG are divided into the subscribed channels and the unsubscribed channels.